#pragma once

#include "DM/Events/Event.h"
#include "dmpch.h"

namespace DM {

	class DM_API WindowCloseEvent: public Event
	{
	public:
		WindowCloseEvent()
		{
		}

		~WindowCloseEvent()
		{
		}

		EVENT_CLASS_TYPE(WindowClose)
		EVENT_CLASS_CATEGORY(EventCategoryApplication)

	private:

	};

	class DM_API WindowResizeEvent: public Event
	{
	public:
		WindowResizeEvent(int width, int height):
			m_Width(width), m_Height(height)
		{
		}

		~WindowResizeEvent()
		{
		}
		unsigned int GetWidth() const { return m_Width; }
		unsigned int GetHeight() const { return m_Height; }

		std::string ToString() const 
		{
			std::stringstream ss;

			ss << "WindowsResizeEvent: " << m_Width << "," << m_Height;
			return ss.str(); 
		}


		EVENT_CLASS_TYPE(WindowResize)
		EVENT_CLASS_CATEGORY(EventCategoryApplication)
	private:
		int m_Width, m_Height;
	};

}